import request from '@/utils/request.js'

// 查询帖子列表
export function listPost(query) {
  return request.get('/app/post/list', query)
}

// 查询圈子内的帖子
export function listTopicPosts(topicId, query) {
  return request.get(`/app/topic/${topicId}/posts`, query)
}

// 查询我的帖子
export function listMyPosts(query) {
  return request.get('/app/post/my', query)
}

// 查询热门帖子
export function listHotPosts(query) {
  return request.get('/app/post/hot', query)
}

// 查询推荐帖子
export function listRecommendPosts(query) {
  return request.get('/app/post/recommend', query)
}

// 查询帖子详情
export function getPostDetail(postId) {
  return request.get(`/app/post/${postId}`)
}

// 发布帖子
export function createPost(data) {
  return request.post('/app/post', data)
}

// 更新帖子
export function updatePost(data) {
  return request.put('/app/post', data)
}

// 删除帖子
export function deletePost(postId) {
  return request.delete(`/app/post/${postId}`)
}

// 点赞帖子
export function likePost(postId) {
  return request.post(`/app/post/${postId}/like`)
}

// 取消点赞
export function unlikePost(postId) {
  return request.post(`/app/post/${postId}/unlike`)
}

// 切换点赞状态
export function toggleLike(postId) {
  return request.post(`/app/post/${postId}/like`)
}

// 收藏帖子
export function collectPost(postId) {
  return request.post(`/app/post/${postId}/collect`)
}

// 取消收藏
export function uncollectPost(postId) {
  return request.post(`/app/post/${postId}/uncollect`)
}

// 切换收藏状态
export function toggleCollect(postId) {
  return request.post(`/app/post/${postId}/collect`)
}

// 分享帖子
export function sharePost(postId) {
  return request.post(`/app/post/${postId}/share`)
}

// 查询帖子评论
export function listPostComments(postId, query) {
  return request.get(`/app/post/${postId}/comments`, query)
}

// 发表评论
export function createComment(postId, data) {
  return request.post(`/app/post/${postId}/comment`, data)
}

// 删除评论
export function deleteComment(commentId) {
  return request.delete(`/app/comment/${commentId}`)
}


// 获取用户详细信息
export function getInfo(id) {
  return request.get(`/app/post/${id}`)
}
